<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*Promise的定义：
            -回调函数被称为回调地狱，代码层层嵌套，代码臃肿，难以维护
            -Promise的标准化，一定程度上解决了javascript的流程操作问题
            -Promise对象是异步编程的解决方案，可以将异步操作以同步的流程表达出来，避免回调地狱
        Promise的使用：
            -Promise是一个构造函数，使用时需要实例化
            -把异步代码放到Promise的回调函数中处理
            -Promise自身是同步代码，只是用来处理异步代码
        */

        // 创建Promise对象
        const pm = new Promise((resolve,reject)=>{
            console.log("请求A数据");
            // 用setTimeout模拟异步代码
            setTimeout(()=>{
                console.log("A数据请求成功");
            },2000)
        })

        //打印promise实例
        console.log("pm",pm);

        console.log("底部end");

        //打印顺序为：
        //"请求A数据"=>pm Promise {<pending>}=>底部end=>A数据请求成功

    </script>
</body>
</html>